Hemispherical, high bandwidth mechanical interface for computer systems

ABSTRACT

A mechanical interface for providing high bandwidth and low noise mechanical input and output for computer systems. A gimbal mechanism includes multiple members that are pivotably coupled to each other to provide two revolute degrees of freedom to a user manipulatable about a pivot point located remotely from the members at about an intersection of the axes of rotation of the members. A linear axis member, coupled to the user object, is coupled to at least one of the members, extends through the remote pivot point and is movable in the two rotary degrees of freedom and a third linear degree of freedom. Transducers associated with the provided degrees of freedom include sensors and actuators and provide an electromechanical interface between the object and a computer. Capstan band drive mechanisms transmit forces between the transducers and the object and include a capstan and flat bands, where the flat bands transmit motion and force between the capstan and interface members. Applications include simulations of medical procedures, e.g. epidural anesthesia, where the user object is a needle or other medical instrument, or other types of simulations or games.

BACKGROUND OF THE INVENTION

The present invention relates generally to mechanical interface devicesbetween humans and computers, and more particularly to mechanicaldevices for tracking manual manipulations and providing simulated forcefeedback.

Virtual reality computer systems provide users with the illusion thatthey are part of a "virtual" environment. A virtual reality system willtypically include a computer processor, such as a personal computer orworkstation, specialized virtual reality software, and virtual realityI/O devices such as display screens, head mounted displays, sensorgloves, etc. As virtual reality systems become more powerful and as thenumber of potential applications increases, there is a growing need forspecific human/computer interface devices which allow users to interfacewith computer simulations with tools that realistically emulate theactivities being represented within the virtual simulation.

One common use for virtual reality computer systems is for training. Inmany fields, such as aviation and vehicle and systems operation, virtualreality systems have been used successfully to allow a user to learnfrom and experience a realistic "virtual" environment. The appeal ofusing virtual reality computer systems for training relates, in part, tothe ability of such systems to allow trainees the luxury of confidentlyoperating in a highly realistic environment and making mistakes without"real world" consequences. One highly applicable field for the use ofvirtual training system is medical operations and procedures. A virtualreality computer system can allow a doctor-trainee or other humanoperator or user to "manipulate" a needle, scalpel or probe within acomputer-simulated "body", and thereby perform medical procedures on avirtual patient. In this instance, the I/O device which is typically a3D pointer, stylus, or the like is used to represent a surgicalinstrument such as a probe or scalpel. As the "probe" or "scalpel" moveswithin a provided space or structure, results of such movement areupdated and displayed in a body image displayed on a screen of thecomputer system so that the operator can gain the experience ofperforming such a procedure without practicing on an actual human beingor a cadaver.

Other uses for virtual reality computer systems include entertainment.Sophisticated simulations and video games allow a user to experiencevirtual environments with high degrees of realism, thus providing highlyinteractive and immersive experiences for the user.

For virtual reality systems to provide a realistic (and thereforeeffective) experience for the user, sensory feedback and manualinteraction should be as natural and complete as possible. One essentialsensory component for many experiences is the "haptic" and tactilesenses. The haptic sense is typically related to the sense of touch notassociated with tactility, such as the forces sensed when pushing orpulling on an object. The tactile sense is more concerned with thetexture and feel of a surface or object.

Medical operations and procedures using such medical instruments ascatheters, laparoscopes, and needles have a distinct haptic componentthat is essential to performing the procedures correctly andeffectively. For example, epidural anesthesia is a highly delicateprocedure performed by anesthesiologists in operations. In thisprocedure, a four inch needle is directed between two vertebrae in thelower back of the patient, through extremely dense tissue, and into anepidural space no larger than 1/20th of an inch. Overshooting theepidural space may result in a "wet tap" puncturing the dura mater,resulting in severe spinal headaches for the patient, or, in extremecases, damage to the spinal cord.

This insertion is accomplished only through the sense of feel, i.e., thehaptic sense. The vast majority of physicians use a technique known asthe "loss of resistance" method. The fluid in the syringe (typically asaline solution or simply air) is retarded by the dense ligaments as theneedle is inserted. The administrator will feel a slight "pop" as theligamentum flavum (the layer positioned just before the epidural space)is punctured, due to a slight pressure drop from entering the epiduralspace. The contents of the syringe then flow freely into the epiduralspace, gently expanding the separation of the two tissue layers. Acatheter can subsequently be fed through the center of the epiduralneedle so that an anesthetic can be metered through an IV.

Currently there is no practical and effective training tool to assisttrainees in developing proficiency in the administration of epiduralanesthesia and like medical procedures. Mannequins and cadavers often donot meet many of the needs of trainees for such precise manipulations.Thus, a highly accurate virtual reality system would be ideal for thisand other types of applications, especially a "high bandwidth" interfacesystem, which is an interface that accurately responds to electronicsignals having fast changes and a broad range of frequencies as well asmechanically transmitting such signals accurately to a user.

There are number of devices that are commercially available forinterfacing a human with a computer for virtual reality simulations.Some of these devices provide "force feedback" to a user, i.e., the userinterface device outputs forces through the use of computer-controlledactuators and sensors to allow the user to experience haptic sensations.However, none of these devices is tailored for such precise operationsas epidural anesthesia. For example, in typical multi-degree of freedomapparatuses that include force feedback, there are severaldisadvantages. Since actuators which supply realistic force feedbacktend to be large and heavy, they often provide inertial constraints.There is also the problem of coupled actuators. In a typical forcefeedback device, a serial chain of links and actuators is implemented toachieve multiple degrees of freedom for a desired object positioned atthe end of the chain, i.e., each actuator is coupled to the previousactuator. The user who manipulates the object must carry the inertia ofall of the subsequent actuators and links except for the first actuatorin the chain, which is grounded. While it is possible to ground all ofthe actuators in a serial chain by using a complex transmission ofcables or belts, the end result is a low stiffness, high friction, highdamping transmission which corrupts the bandwidth of the system,providing the user with an unresponsive and inaccurate interface. Thesetypes of interfaces also introduce tactile "noise" to the user throughfriction and compliance in signal transmission and limit the degree ofsensitivity conveyed to the user through the actuators of the device.

Other existing devices provide force feedback to a user through the useof a glove or "exoskeleton" which is worn over the user's appendages,such as fingers, arms, or body. However, these systems are not easilyapplicable to simulation environments such as those needed for medicalprocedures or simulations of vehicles and the like, since the forcesapplied to the user are with reference to the body of the user, not to amanipulated instrument or control, and the absolute location of theuser's appendages or a manipulated instrument are not easily calculated.Furthermore, these devices tend to be complex mechanisms in which manyactuators must be used to provide force feedback to the user.

In addition, existing force feedback devices are typically bulky andrequire that at least a portion of the force feedback mechanism extendinto the workspace of the manipulated medical instrument. For example,in simulated medical procedures, a portion of the mechanism typicallyextends past the point where the skin surface of the virtual patient isto be simulated and into the workspace of the manipulated instrument.This can cause natural actions during the medical procedure, such asplacing one's free hand on the skin surface when inserting a needle, tobe strained, awkward, or impossible and thus reduces the realism of thesimulation. In addition, the mechanism intrudes into the workspace ofthe instrument, reducing the workspace of the instrument and theeffectiveness and realism of many force feedback simulations and videogames. Furthermore, this undesired extension into the workspace oftendoes not allow the force feedback mechanism to be easily housed in aprotective casing and concealed from the user.

Furthermore, prior force feedback devices often employ low fidelityactuation transmission systems, such as gear drives. For higherfidelity, cable drive systems may be used. However, these systemsrequire that a drive capstan be wrapped several times with a cable andthat the cable be accurately tensioned, resulting in considerableassembly time of the force feedback device. There is also energy lossassociated with the cable deflection as the capstan turns.

Therefore, a high fidelity human/computer interface tool which canprovide force feedback in a constrained space to a manipulated objectremote from the mechanism, and which can provide high bandwidth,accurate forces, is desirable for certain applications.

SUMMARY OF THE INVENTION

The present invention provides a mechanical interface apparatus andmethod which can provide highly realistic motion and force feedback to auser of the apparatus. The preferred apparatus includes a gimbalmechanism which provides degrees of freedom to a user manipulatableobject about a remote pivot point such that the gimbal mechanism isentirely within a single hemisphere of a spherical workspace of the userobject. In addition, a band drive mechanism provides mechanicaladvantage in applying force feedback to the user, smooth motion, andreduction of friction, compliance, and backlash of the system. Thepresent invention is particularly well suited to simulations of medicalprocedures using specialized tools, as well as simulations of otheractivities, video games, etc.

Specifically, a mechanism of the present invention includes a gimbalmechanism for providing motion in two degrees of freedom. The gimalmechanism includes multiple members that are pivotably coupled to eachother to provide two revolute degrees of freedom about a pivot pointlocated remotely from the members. The pivot point is located at aboutan intersection of the axes of rotation of the members. A linear axismember is coupled to at least one of the members, extends through thepivot point and is movable in the two revolute degrees of freedom. Thelinear axis member preferably is or includes a user manipulatableobject.

In a preferred embodiment, the gimbal mechanism includes five membersforming a closed loop chain such that each of the five members ispivotably coupled to two other members of said five members. Themultiple members of the gimbal mechanism are positioned exclusivelywithin a hemisphere of a sphere defined by the workspace provided by thegimbal mechanism, i.e., on one side of a plane intersecting the remotepivot point, where the pivot point is at a center of the sphere.Preferably, the user manipulatable object is independently translatablewith respect to the gimbal mechanism along a linear axis in a thirddegree of freedom through the pivot point, and at least a portion of theuser object is positioned on the opposite side of the pivot point to thegimbal mechanism.

The gimbal mechanism interfaces the motion of the linear axis member intwo degrees of freedom with a computer system. Transducers, includingactuators and sensors, are coupled between members of the gimbalmechanism for an associated degree of freedom and are coupled to thecomputer system. The actuators provide a force on the linear axis memberand the sensors sense the position of the linear axis member in thethree degrees of freedom. Preferred user manipulatable objects includeat least a portion of a medical instrument, such as a needle having ashaft and a syringe. A plunger actuator can be coupled to the needle forselectively providing a pressure to a plunger of the syringe andsimulating ejected of a fluid through the needle. Alternatively, aspherical object or other type of object can be provided with the pivotpoint at about the object's center.

In another aspect of the present invention, the interface apparatusincludes a band drive mechanism for transmitting forces from actuatorsto the user object and transmitting motion of the object to sensors. Theband drive mechanism includes a capstan coupled to a rotating shaft ofan actuator of the apparatus and to a member of the apparatus by a flatband. Force is applied to the member in at least one degree of freedomvia the flat band when the shaft of the actuator is rotated. Preferably,a band drive mechanism is used for both rotary and linear degrees offreedom of the interface apparatus and transmits forces and motion withsubstantially no backlash. The flat band preferably includes twoseparate bands coupled between the capstan and the mechanism member.

In yet another aspect of the present invention, the interface apparatusis used in a computer simulation, such as a simulation of a medicalprocedure where the user-manipulable object is a medical instrument. Thecomputer system determines the position of the user manipulatable objectin at least one degree of freedom from sensors. A physical propertyprofile is then selected. The profile includes a number of predeterminedvalues, such as material stiffness, density, and texture, and theselection of the particular values of the profile is based on a positionof the user object. Finally, a force on the user object is output basedon a value in the selected profile using actuators coupled to theinterface apparatus. Preferably, forces are also output from theactuators to compensate for the gravitational force resulting from theweight of the actuators and to allow the user object to be manipulatedfree from gravitational force. The profile is selected from multipleavailable profiles and is also dependent on a direction and trajectoryof movement of the user object. In a described embodiment, the medicalsimulation is an epidural anesthesia simulation, and the user objectincludes a needle having a syringe. For example, one of the selectedprofiles can be to provide forces simulating the needle encountering abone within tissue.

The interface apparatus of the present invention provides a uniquegimbal mechanism having a remote pivot point that allows a usermanipulatable object to be positioned on one side of the pivot point andthe gimbal mechanism entirely on the other side of the pivot point. Thisprovides a greater workspace for the user object and allows themechanism to be protected and concealed. In other embodiments, theremote pivot point allows the user object to be rotated about the centerof the object while advantageously allowing the user to completely graspthe object. Furthermore, the present invention includes easy-to-assembleband drive mechanisms that provide very low friction and backlash andhigh bandwidth forces to the user object, and are thus quite suitablefor high precision simulations such as medical procedures. The structureof the apparatus permits transducers to be positioned such that theirinertial contribution to the system is very low, thus enhancing thehaptic response of the apparatus even further. Finally, a simulationprocess allows for realistic simulation of precise procedures such asepidural anesthesia. These advantages allow a computer system to havemore complete and realistic control over force feedback sensationsexperienced by a user of the apparatus.

These and other advantages of the present invention will become apparentto those skilled in the art upon a reading of the followingspecification of the invention and a study of the several Figures of thedrawing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a virtual reality system which employsan apparatus of the present invention to interface a needle with acomputer system in a medical simulation;

FIGS. 2a and 2b are diagrammatic views of a mechanical apparatus of thepresent invention for providing mechanical input and output to acomputer system;

FIG. 3 is a perspective view of a preferred embodiment of the mechanicalapparatus of FIG. 2;

FIGS. 4a and 4b are side elevation and top plan views, respectively, ofthe mechanical apparatus of FIG. 3;

FIGS. 5a, 5b and 5c are detailed views of a capstan band drive mechanismused in the present invention;

FIGS. 6a and 6b are perspective views of a capstan band drive mechanismfor a linear axis member of the mechanical apparatus of FIG. 3;

FIG. 7 is a block diagram of a computer and the interface between thecomputer and the mechanical apparatus of FIGS. 2 and 3;

FIG. 8 a flow diagram illustrating a process of simulating an epiduralanesthesia procedure using the mechanical apparatus of the presentinvention;

FIG. 8a is a side view of the user object and linear axis memberillustrating the gravity compensation of the present invention;

FIGS. 8b and 8c are graphs showing the force output on the needle of theapparatus of the present invention according to physical propertyprofiles;

FIG. 9 is a diagrammatic view of an alternate embodiment of the gimbalapparatus of FIG. 2a including a spherical user manipulatable object;and

FIG. 9a is a diagrammatic view of an alternate embodiment of themechanical apparatus and user manipulatable object of FIG. 9.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In FIG. 1, a virtual reality system 10 used to simulate a medicalprocedure includes a human/computer interface apparatus 12, anelectronic interface 14, and a computer 16. The illustrated virtualreality system 10 is directed to a virtual reality simulation of aneedle insertion procedure. An example of control software used in thesimulation is provided in Appendix A. Suitable software drivers whichinterface such simulation software with computer input/output (I/O)devices are available from Immersion Human Interface Corporation of SanJose, Calif.

A needle/syringe tool (or "needle") 18 used in conjunction with oneembodiment of the present invention is manipulated by an operator and,optionally, virtual reality images (and/or instructions or procedureinformation) may optionally be displayed on a screen 20 of the computerin response to such manipulations (or on a 3-D goggle display worn bythe operator). Preferably, the computer 16 is a personal computer orworkstation, such as an IBM-PC AT or Macintosh personal computer, or aSUN or Silicon Graphics workstation. Most commonly, the computeroperates under the MS-DOS operating system in conformance with an IBM PCAT standard.

The needle 18 includes a syringe portion 26 and a shaft or needleportion 28. The syringe portion 26 is provided to hold a fluid and flowthe fluid through the hollow shaft portion 28 when the operator movesplunger 27 through syringe housing 29. In one embodiment, the presentinvention is concerned with tracking the movement of the shaft portion28 in three-dimensional space, where the shaft portion 28 has three (ormore) free degrees of motion. Namely, the needle 18 can be preferablymoved in a linear degree of freedom to simulate insertion of the needlein a patient, and can also preferably be rotated or pivoted in twodegrees of freedom. This is a good simulation of the real use of aneedle 18 in that a needle may be inserted and then removed, pivoted,and inserted again.

The human/interface apparatus 12 as exemplified herein is used tosimulate a epidural anesthesia medical procedure. In such a procedure,an operator directs a needle between two vertebrae in the lower back ofa patient, through extremely dense tissue, and into an epidural space nolarger than 1/20th of an inch. Thus, in addition to the needle 18, thehuman/interface apparatus 12 may include a barrier 22 or otherobstruction. The barrier 22 is used to represent a portion of the skincovering the body of a patient and is used to provide greater realism tothe operator. For example, when inserting a needle 18 into a patient, itis natural for doctors to place the hand not handling the needle on theskin of the patient when inserting the needle to provide stabilityduring the procedure. Barrier 22 allows trainees to simulate these typesof natural actions. The shaft portion 28 is inserted into the "body" ofthe virtual patient at a point 20, which can simulate the area of theback covering the spine in an epidural anesthesia procedure, or otherareas of a body in other medical procedures. Barrier 22 can be omittedfrom apparatus 12 in other embodiments.

A mechanical interface apparatus 25 for interfacing mechanical input andoutput is shown within the "body" of the patient in phantom lines. Theshaft portion 28 extends to mechanical apparatus 25, which provides themechanical support, degrees of freedom, and force simulation for needle18 that realistically simulates an epidural anesthesia or otherprocedure. For example, the needle 18 can preferably move in a lineardegree of freedom to simulate inserting the needle in the skin, and canalso preferbly pivot such that the angular position of the needle withrespect to the skin surface can be changed if the needle is inserted atan incorrect angle for a successful operation. In addition, mechanicalapparatus 25 is preferably positioned entirely behind barrier 22 toallow the greatest realism in the simulation. Needle 18 or otherinstrument preferably can pivot about the insertion point 20, where thepoint 20 is not touching any physical mechanism of apparatus 25.

Furthermore, since the insertion and manipulation of the anesthesianeedle is accomplished mainly through the sense of feel, the forcesprovided on tool 18 should be highly accurate and realistic to properlytrain anesthesiologists. For example, in epidural anesthesia procedures,the vast majority of physicians use a technique known as the "loss ofresistance" method. The fluid in the syringe (typically a salinesolution or air) is retarded by the dense ligaments as the needle isinserted. The administrator then feels a slight "pop" as the ligamentumflavum, the layer positioned just before the epidural space, ispunctured due to a slight pressure drop in the epidural space. Thecontents of the syringe then flow freely, gently expanding theseparation of the two tissue layers. Such a procedure is highlydependent on the haptic sense of the operator and thus a simulationrequires realistic motion and precise applied forces. Mechanicalapparatus 25 includes these desired features and is described in greaterdetail below.

While one embodiment of the present invention will be discussed withreference to the needle 18, it will be appreciated that a great numberof other types of objects can be used with the method and apparatus ofthe present invention. In fact, the present invention can be used withany physical object where it is desirable to provide a human/computerinterface with one or more degrees of freedom. For example, in othersimulated medical procedures, such medical tools as laparoscopes,catheters, other endoscopic surgical tools, or portions thereof, may beprovided as tool 18. The shaft portion 28 can be part of the standardmedical tool, or can be added as a linear member to operate inconjunction with apparatus 25. In other embodiments, the end of theshaft of the tool (such as any cutting edges) can be removed, since theend is not required for the virtual reality simulation, and is removedto prevent any potential damage to persons or property. In yet otherembodiments, objects such as styluses, joysticks, screwdrivers, poolcues, wires, fiber optic bundles, mice, steering wheels, etc., can beused in place of tool 18 for different virtual reality, video game,and/or simulation applications. Another example of a user manipulatableobject in use with the present invention is described with reference toFIG. 9.

The electronic interface 14 is a component of the human/computerinterface apparatus 12 and couples the apparatus 12 to the computer 16.More particularly, interface 14 is used in preferred embodiments tocouple the various actuators and sensors contained in apparatus 12(which actuators and sensors are described in detail below) to computer16. A suitable interface 14 is described in detail with reference toFIG. 7.

The electronic interface 14 is coupled to mechanical apparatus 25 of theapparatus 12 by a cable 30 and is coupled to the computer 16 by a cable32. In other embodiments, signal can be sent to and from interface 14and computer 16 by wireless transmission and reception. In someembodiments of the present invention, interface 14 serves solely as aninput device for the computer 16. In other embodiments of the presentinvention, interface 14 serves solely as an output device for thecomputer 16. In preferred embodiments of the present invention, theinterface 14 serves as an input/output (I/O) device for the computer 16.Electronic interface 14 can be provided in a separate box or housing asshown in FIG. 1, or can be included within mechanical apparatus 25 orwithin computer 16.

In FIG. 2a, a schematic diagram of mechanical apparatus 25 for providingmechanical input and output in accordance with the present invention isshown. Apparatus 25 includes a gimbal mechanism 38 and a linear axismember 40. A user object 44 is preferably coupled to linear axis member40.

Gimbal mechanism 38, in the described embodiment, is a "sphericalmechanism" that provides support for apparatus 25 on a grounded surface56 (schematically shown as part of ground member 46). Gimbal mechanism38 is preferably a five-member, closed loop linkage that includes aground member 46, extension members 48a and 48b, and central members 50aand 50b. Ground member 46 is coupled to a base or surface which providesstability for apparatus 25. Ground member 46 is shown in FIG. 2 as twoseparate members coupled together through grounded surface 56. Themembers of gimbal mechanism 38 are rotatably coupled to one anotherthrough the use of bearings or pivots, wherein extension member 48a isrotatably coupled to ground member 46 by bearing 43a and can rotateabout an axis A, central member 50a is rotatably coupled to extensionmember 48a by bearing 45a and can rotate about a floating axis D,extension member 48b is rotatably coupled to ground member 46 by bearing43b and can rotate about axis B, central member 50b is rotatably coupledto extension member 48b by bearing 45b and can rotate about floatingaxis E, and central member 50a is rotatably coupled to central member50b by bearing 47 at a center point P at the intersection of axes D andE. Preferably, central member 50a is coupled to one rotatable portion47a of bearing 47, and central member 50b is coupled to the otherrotatable portion 47b of bearing 47. The axes D and E are "floating" inthe sense that they are not fixed in one position as are axes A and B.

Gimbal mechanism 38 is formed as a five member closed chain. Each end ofone member is coupled to the end of another member. The five-memberlinkage is arranged such that extension member 48a, central member 50a,and central member 50b move when extension member 48a is rotated aboutaxis A in a first degree of freedom. The linkage is also arranged suchthat extension member 48b, central member 50b, and central member 50amove when extension member 48b is rotated about axis B in a seconddegree of freedom. The axes of rotation are arranged such that theyintersect about at a remote pivot point P, which is the center of the"sphere" defined by the gimbal mechanism 38. Pivot point P is "remote"in the sense that it is not positioned at (or touching) any member orcoupling of the gimbal mechanism 38, but is positioned in free spaceaway from the mechanism 38 and in another "hemisphere", as explainedbelow. Object 44 can be pivoted or rotated about pivot point P in twodegrees of freedom. Extension members 48a and 48b are angled at points49 as shown in FIG. 2a to allow pivot point P to be positioned remotelyfrom the gimbal mechanism. In the described embodiment, the angles α areabout 100 degrees, but can vary depending on how large a sphere isdesired.

Linear axis member 40 is preferably an elongated rod-like member whichis coupled to central member 50a and/or central member 50b and extendsapproximately through the remote pivot point P. As shown in FIG. 1,linear axis member 40 can be used as shaft 28 of user object 44 or 18.In other embodiments, linear axis member 40 is coupled to a separateobject 44. Linear axis member 40 is coupled to gimbal mechanism 38 suchthat it extends out of the plane defined by axis A and axis B. Linearaxis member 40 can be rotated about axis A by rotating extension member48a, central member 50a, and central member 50b in a first revolutedegree of freedom, shown as arrow line 51. Member 40 can also be rotatedabout axis B by rotating extension member 50b and the two centralmembers about axis B in a second revolute degree of freedom, shown byarrow line 52. Being also translatably coupled to the ends of centralmember 50a and/or 50b, linear axis member 40 can be linearly translated,independently with respect to gimbal mechanism 38, along floating axisC, providing a third degree of freedom as shown by arrows 53. Axis C isrotated about the remote pivot point P as member 40 is rotated aboutthis point. Optionally, a fourth degree of freedom can be provided toobject 44 as rotation about axis C, i.e., a "spin" degree of freedom.

When object 44 is positioned at the "origin" as shown in FIG. 2a, anangle θ between the central members 50a and 50b is about 60 degrees inthe described embodiment. When object 44 is rotated about one or bothaxes A and B, central members 50a and 50b move in two fashions: rotationabout axis D or E by bearing 45b and/or 45a, and rotation about axis Cby bearing 47 such that angle θ changes. For example, if the object 44is moved toward the couplings 45a or 45b, then the angle θ willdecrease. If the object is moved toward couplings 43a and 43b, the angleθ will increase.

Also preferably coupled to gimbal mechanism 38 and linear axis member 40are transducers, such as sensors and actuators. Such transducers arepreferably coupled at the couplings or link points between members ofthe apparatus and provide input to and output from an electrical system,such as computer 16. Transducers that can be used with the presentinvention are described in greater detail with respect to FIG. 3.

User object 44 is coupled to apparatus 25 and is preferably an interfaceobject for a user to grasp or otherwise manipulate in three dimensional(3D) space. One preferred user object 44 is a needle 18, as shown inFIG. 1. Shaft 28 of needle 18 can be implemented as part of linear axismember 40. Needle 18 may be moved in all three degrees of freedomprovided by gimbal mechanism 38 and linear axis member 40. As userobject 44 is rotated about pivot point P and axis A, floating axis Dvaries its position, and as user object 44 is rotated about point P andaxis B, floating axis E varies its position. Other types of user objects44 can also be provided for use with mechanical apparatus 25 asdescribed above. Other embodiments for an interface apparatus are foundin co-pending U.S. Pat. No. 5,731,804 filed Jan. 18, 1995, assigned tothe assignee of the present invention and incorporated herein byreference in its entirety.

Thus, the mechanical apparatus 25 fulfills the needs of an epiduralanesthesia simulator by providing three degrees of freedom to userobject 44: one degree of freedom for linear translation of user objectalong axis C to simulate needle insertion, and two degrees of freedomfor angular positioning of user object about axes A and B to simulateneedle orientation. For example, after a needle is inserted in thevirtual patient, the operator may determine that the needle has beeninserted incorrectly. The needle should then be withdrawn andrepositioned by pivoting the needle as allowed by the gimbal mechanism38. Such degrees of freedom are also useful in a variety of otherapplications, described subsequently. Importantly, gimbal mechanism 38provides a remote pivot point P that is not touching any portion of thegimbal mechanism. This allows, for example, the mechanism 25 to beentirely placed behind a barrier 22 as shown in FIG. 1.

FIG. 2b is a schematic drawing of a side view of the mechanicalapparatus 25 of FIG. 2a In FIG. 2b, linear axis member 40 is shownmovable along axis C. Remote pivot point P is located at theintersection of axes A, B, D, and E of the gimbal mechanism. Theclosed-loop five-member gimbal mechanism 38 is a "spherical mechanism",which, as described herein, is a mechanism that provides two rotationaldegrees of freedom to the user object 44 and a spherical workspace andin which the axes of rotation of the mechanism pass through the centerof the sphere defined by the spherical workspace, i.e., user object 44can be moved to points in 3-D space that sweep a surface, or a portionof the surface, of a sphere. For gimbal mechanism 38, the center of thesphere is remote pivot point P. With the addition of a third lineardegree of freedom, the gimbal mechanism allows the user object to tracea volume of a sphere rather than just a surface of a sphere.

Unlike typical spherical mechanisms used for user interfaceapplications, gimbal mechanism 38 includes a remote pivot point P thatdoes not touch any portion of the gimbal mechanism. Thus, it is possibleto make gimbal mechanism 38 a "hemispherical mechanism", i.e., thegimbal mechanism 38 is positioned entirely within one hemisphere of thesphere. This is demonstrated by dashed line 60, which designates a lineextending through the center of a sphere, which is at pivot point P. Theentire gimbal mechanism 38 is on one side of line 60, while the usermanipulable object 44 is on the other side of point P and line 60(except, of course, shaft 28, which must connect the user object 44 withthe mechanical apparatus 25). This allows user object 44 a full range ofmovement in its own hemisphere without being obstructed by any portionsof the mechanical apparatus 25.

The hemispherical nature of gimbal mechanism 38 allows a realisticsimulation apparatus to be provided. For example, a barrier 20 such asshown in FIG. 1 can be placed at or near the pivot point P so that theentire mechanical apparatus 25 is hidden from view and protected. Thisallows an operator to easily place a hand on the barrier to support theneedle insertion without touching the gimbal mechanism. Also, sincepivot point P of the shaft 28 of the needle is provided at the point ofneedle insertion, the needle can be pivoted without requiring a largeopening in the barrier. The operation of the mechanism 25 can becompletely obscured from the operator without hindering the motion ofthe user object 44, thus greatly adding to the realism of the simulatedmedical procedure.

The apparatus 25 can also be used for other applications besides thesimulation of medical procedures such as epidural anesthesia. Oneapplication can be games or virtual reality (non-medical) simulations,where user object 44 can be a joystick or other object for manipulating2- or 3-D environments. In addition, any apparatus that can make use ofa gimbal mechanism that is contained within one side or hemisphere ofthe sphere or which can be fully enclosed behind a plane or surface isapplicable to the present invention. One such apparatus might be amechanism that is positioned below ground or under/behind a protectiveenclosure and which is used to direct a laser beam or projectile (e.g.,a liquid projectile such as water from a water hose, or a solidprojectile). For example, a laser may include a mechanical apparatus 25that is positioned behind its pivot point P and can be used to digitizeor project 3-D images using spherical coordinates of the gimbalmechanism. Alternatively, a real medical instrument can be attached tothe gimbal mechanism for performing operations on live patients undercomputer computer or under remote control from a doctor using a masterimplement (e.g., the master implement can also be a gimbal mechanism ofthe present invention to allow teleoperation of the operatinginstrument).

FIG. 3 is a perspective view of a specific embodiment of a mechanicalapparatus 25' for providing mechanical input and output to a computersystem in accordance with the present invention. Apparatus 25' includesa gimbal mechanism 62, a linear axis member 64, and transducers 66. Auser object 44, shown in this embodiment as a needle 18, is coupled toapparatus 25'. Apparatus 25' operates in substantially the same fashionas apparatus 25 described with reference to FIGS. 2a and 2b.

Gimbal mechanism 62 provides support for apparatus 25' on a groundedsurface 56, such as a table top or similar surface. The members andjoints ("bearings") of gimbal mechanism 62 are preferably made of alightweight, rigid, stiff metal, such as aluminum, but can also be madeof other rigid materials such as other metals, plastic, etc. Gimbalmechanism 62 includes a ground member 70, capstan band drive mechanisms72, link members 74a and 74b, central members 76a and 76b. Ground member62 includes a base member 78 and support members 80. Base member 78 iscoupled to grounded surface 56. Support members 80 are coupled to basemember 78 and are preferably angled as shown in FIGS. 3, 4a, and 4b.

A capstan band drive mechanism 72 is preferably coupled to each supportmember 62. Capstan band drive mechanisms 72 are included in gimbalmechanism 62 to provide mechanical advantage without introducingfriction and backlash to the system. A drum 82 of each band drivemechanism is rotatably coupled to a corresponding support member 80 toform axes of rotation A and B, which correspond to axes A and B as shownin FIG. 1. The capstan band drive mechanisms 72 are described in greaterdetail with respect to FIGS. 5a and 5b.

Link member 74a is rigidly coupled to capstan drum 82a and is rotatedabout axis A as drum 82a is rotated. Likewise, link member 74b isrigidly coupled to drum 82b and can be rotated about axis B. Thus, inapparatus 25', link member 74a and drum 82a together form the extensionmember 48a shown in FIG. 2a, and link member 74b and drum 82b togetherform the extension member 48b. Central member 76a is rotatably coupledto the other end of link member 74a. Similarly, central member 76b isrotatably coupled to the end of link member 74b. Central members 76a and76b are rotatably coupled to each other at their other ends at a bearing84, through which axis C preferably extends. A floating axis of rotationD is located at the coupling of link member 74a and central member 76a,and a floating axis of rotation E is located at the coupling of linkmember 74b and central member 76b. A pivot point P is provided at theintersection of axes A, B, D, and E.

Gimbal mechanism 62 provides two degrees of freedom to an objectpositioned at or coupled to the remote pivot point P. An object 44 canbe rotated point P in the degrees of freedom about axis A and B or havea combination of rotational movement about these axes. As explainedabove, point P is located remote from gimbal mechanism 62 such thatpoint P does not touch any portion of the gimbal mechanism 62.

Linear axis member 64 is a member that is preferably coupled to centralmember 76b. Alternatively, member 64 can be coupled to central member76a Member 64 extends through a open aperture in the center of bearing84 and through apertures in the ends of central members 76a and 76b. Thelinear axis member can be linearly translated along axis C, providing athird degree of freedom to user object 44 coupled to the linear axismember. Linear axis member 64 (or a portion thereof) can preferably betranslated by a transducer 66c using a capstan band drive mechanism. Thetranslation of linear axis member 64 is described in greater detail withrespect to FIGS. 6a-6b.

Transducers 66a, 66b, and 66c are preferably coupled to gimbal mechanism62 to provide input and output signals between mechanical apparatus 25'and computer 16. In the described embodiment, transducer 66a includes agrounded actuator 86a and a sensor 87a, transducer 66b includes agrounded actuator 86b and a sensor 87b, and central transducer 66cincludes an actuator 86c and a sensor 87c. The housing of groundedtransducer 66a is preferably coupled to a support member 80 andpreferably includes both an actuator for providing force or resistancein the first revolute degree of freedom about point P and axis A and asensor for measuring the position of object 44 in the first degree offreedom about point P and axis A, i.e., the transducer 66a is"associated with" or "related to" the first degree of freedom. Arotational shaft of actuator 66a is coupled to a spindle of capstan banddrive mechanism 72 to transmit input and output along the first degreeof freedom. The capstan band drive mechanism 72 is described in greaterdetail with respect to FIG. 5a-5c. Grounded transducer 66b preferablycorresponds to grounded transducer 66a in function and operation.Transducer 66b is coupled to the other support member 80 and is anactuator/sensor which influences or is influenced by the second revolutedegree of freedom about point P and axis B.

Sensors 87a, 87b, and 87c are preferably relative optical encoders whichprovide signals to measure the angular rotation of a shaft of thetransducer. The electrical outputs of the encoders are routed tocomputer interface 14 by buses (not shown) and are detailed withreference to FIG. 7. For example, 500 count encoders such as theHP-HEDS-5500-A02 from Hewlett-Packard can be used, or other encodershaving higher resolution. Other types of sensors can also be used, suchas potentiometers, etc. In addition, it is also possible to usenon-contact sensors at different positions relative to mechanicalapparatus 25. For example, a Polhemus (magnetic) sensor can detectmagnetic fields from objects; or, an optical sensor such as lateraleffect photo diode includes a emitter/detector pair that detectspositions of the emitter with respect to the detector in one or moredegrees of freedom. These types of sensors are able to detect theposition of object 44 in particular degrees of freedom without having tobe coupled to a joint of the mechanical apparatus. Alternatively,sensors can be positioned at other locations of relative motion orjoints of mechanical apparatus 25'.

It should be noted that the present invention can utilize both absoluteand relative sensors. An absolute sensor is one which the angle of thesensor is known in absolute terms, such as with an analog potentiometer.Relative sensors only provide relative angle information, and thusrequire some form of calibration step which provide a reference positionfor the relative angle information. The sensors described herein areprimarily relative sensors. In consequence, there is an impliedcalibration step after system power-up wherein the sensor's shaft isplaced in a known position within the apparatus 25' and a calibrationsignal is provided to the system to provide the reference positionmentioned above. All angles provided by the sensors are thereafterrelative to that reference position. Such calibration methods are wellknown to those skilled in the art and, therefore, will not be discussedin any great detail herein.

The actuators 86a, 86b, and 86c of transducers 66 can be of two types:active actuators and passive actuators. Active actuators include linearcurrent control motors, stepper motors, pneumatic/hydraulic activeactuators, and other types of actuators that transmit a force to move anobject. For example, active actuators can drive a rotational shaft aboutan axis in a rotary degree of freedom, or drive a linear shaft along alinear degree of freedom. Active transducers of the present inventionare preferably bi-directional, meaning they can selectively transmitforce along either direction of a degree of freedom. For example, DCservo motors can receive force control signals to control the directionand torque (force output) that is produced on a shaft. In the describedembodiment, active linear current control motors, such as DC servomotors, are used. The control signals for the motor are produced bycomputer interface 14 on control buses (not shown) and are detailed withrespect to FIG. 7. The motors may include brakes which allow therotation of the shaft to be halted in a short span of time. Also, thesensors and actuators in transducers 66 can be included together assensor/actuator pair transducers. A suitable transducer for the presentinvention including both an optical encoder and current controlled motoris a 20 W basket wound servo motor manufactured by Maxon. In otherembodiments, all or some of transducers 66 can include only sensors toprovide an apparatus without force feedback along designated degrees offreedom.

In alternate embodiments, other types of motors can be used, such as astepper motor controlled with pulse width modulation of an appliedvoltage, pneumatic motors, brushless DC motors, pneumatic/hydraulicactuators, a torquer (motor with limited angular range), or a voicecoil. Stepper motors and the like are not as well suited because steppermotor control involves the use of steps or pulses which can be felt aspulsations by the user, thus corrupting the virtual simulation. Thepresent invention is better suited to the use of linear currentcontrolled motors, which do not have this noise.

Passive actuators can also be used for actuators 86a, 86b, and 86c.Magnetic particle brakes, friction brakes, or pneumatic/hydraulicpassive actuators can be used in addition to or instead of a motor togenerate a passive resistance or friction in a degree of motion.However, active actuators are often preferred for simulations of medicalprocedures, since the force of tissue on a medical instrument can oftencause a "springy" feel which cannot be simulated by passive actuators.In addition, passive actuators also cannot provide gravity compensation(as described below), inertial compensation, and/or frictionalcompensation forces. Although an alternate embodiment only includingpassive actuators may not be as realistic as an embodiment includingmotors, the passive actuators are typically safer for a user since theuser does not have to fight generated forces. Passive actuatorstypically can only provide bi-directional resistance to a degree ofmotion. A suitable magnetic particle brake for interface device 14 isavailable from Force Limited, Inc. of Santa Monica, Calif.

Central transducer 66c is coupled to central link member 76b andpreferably includes an actuator 86c for providing force in the linearthird degree of freedom along axis C and a sensor 87c for measuring theposition of object 44 along the third linear degree of freedom. Theshaft of central transducer 88 is coupled to a translation interfacecoupled to central member 76b which is described in greater detail withrespect to FIGS. 6a-6b. In the described embodiment, central transducer66c is an optical encoder and DC servo motor combination similar to thetransducers 66a and 66b described above. In an alternate embodiment,transducer 66c can be coupled to ground 56 using, for example, aflexible transmission system such as a shaft or belt between a drivespindle 92 (shown in FIG. 5a) and the transducer 66c. Such an embodimentis advantageous in that the weight of transducer 66c is not carried bythe user when manipulating object 44.

The transducers 66a and 66b of the described embodiment areadvantageously positioned to provide a very low amount of inertia to theuser handling object 44. Transducer 66a and transducer 66b aredecoupled, meaning that the transducers are both directly coupledthrough supports 80 to ground member 70, which is coupled to groundsurface 56, i.e., the ground surface carries the weight of thetransducers, not the user handling object 44. The weights and inertia ofthe transducers 66a and 66b are thus substantially negligible to a userhandling and moving object 44. This provides a more realistic interfaceto a virtual reality system, since the computer can control thetransducers to provide substantially all of the forces felt by the userin these degrees of motion. Apparatus 25' is a high bandwidth forcefeedback system, meaning that high mechanical stiffness is provided forrealistic forces and that high frequency signals can be used to controltransducers 66 and these high frequency signals will be applied to theuser object with high precision, accuracy, and dependability. The userfeels very little compliance or "mushiness" when handling object 44 dueto the high bandwidth. In contrast, in many prior art arrangements ofmulti-degree of freedom interfaces, one actuator "rides" upon anotheractuator in a serial chain of links and actuators. This low bandwidtharrangement causes the user to feel the inertia of coupled actuatorswhen manipulating an object.

In other embodiments, the linear axis member can include additionalsensors and/or actuators for measuring the position of and providingforces to object 44 in additional degrees of freedom. For example, ashaft transducer can be positioned on linear axis member 64 to measurethe rotational position of object 44 about axis C in a fourth "spin"degree of freedom. The transducer can be an optical encoder as describedabove. For typical medical procedures, which is one intended applicationfor the embodiment shown in FIGS. 3 and 4, rotational force feedback toa user about axis C is typically not required to simulate actualoperating conditions. However, in alternate embodiments, an actuatorsuch as a motor can be included in such a shaft transducer similar totransducers 86a, 86b, and 88 to provide forces on object 44 in thefourth degree of freedom.

Object 44 is shown in FIG. 3 as a needle 18 as shown in FIG. 1. Shaftportion 28 is coupled to and included as linear axis member 64. Anadapter can be provided to engage the shaft 28 with the linear axismember 64 of the mechanism. A user can rotate the needle 18 about pointP on axes A and B, and can translate the needle along axis C throughpoint P. The movements in the three degrees of freedom will be sensedand tracked by computer system 16. Forces can be applied preferably inthe three degrees of freedom by the computer system to simulate the toolimpacting a portion of the subject body, experiencing resistance movingthrough tissues, etc. Optionally, a user also can spin needle 18 aboutaxis C in a fourth degree of freedom.

FIG. 3 also shows a plunger actuation mechanism 88 for providing forceson plunger 27 of needle 18. In the described embodiment, an additionalactuator 89 is coupled to a needle mount 91 on linear axis member 64 bya hose 93. Preferably, actuator 89 is a binary solenoid valve thateither allows a fluid (e.g., a liquid or gas) to flow (when open) orblocks the flow of fluid (when closed). For example, a clippardminimatic ET-2-12 valve is suitable. The valve 89 is coupled to computer16 by a bus and may be opened or closed by the computer 16. A passage isprovided from the interior of needle 18, through shaft 28, throughneedle mount 91, and through hose 93. Thus, the computer can open orclose valve 89 to allow a fluid to flow to release pressure on theplunger 27 or to block fluid flow and provide a feeling of pressure onthe plunger 27. The binary valve allows the apparatus 25' to simulatethe condition of pressure on plunger 27 in an epidural anesthesiaprocedure, where the pressure is typically close to being either "on"(before the space where fluid is injected is reached) or "off" (when theneedle has reached the space to inject fluid). A reservoir (not shown)can be added to the valve to handle liquid flow. In alternateembodiments, a valve allowing variable control of fluid flow can beprovided. In other embodiments, an active actuator can be coupled toneedle 18 to actively simulate the flow of a fluid through the needle,i.e., no fluid need actually be provided, since the actuator couldprovide forces that feel as if a liquid were present. For example, alinear actuator such as a linear voice coil can be used. In yet otherembodiments, a sensor can be provided to track the position of theplunger 27 relative to the housing 29 and/or to detect when the userpushes or pulls on the plunger.

Optionally, additional transducers can be added to apparatus 25' toprovide additional degrees of freedom for object 44. A laparoscopic tooland catheter is described in copending U.S. Pat. No. 5,623,582, filedJul. 14, 1994, and Ser. No. 08/344,148, Atty docket no. IMMlP004, filedNov. 23, 1994, both assigned to the assignee of the present inventionand incorporated herein by reference in their entirety. In yet otherembodiments, flexible members and/or couplings can be used in theembodiment of FIG. 2a or 3, as described in copending U.S. patentapplication Ser. No. 08/560,091, Atty. docket no. IMM1P013, filed Nov.17, 1995, and hereby incorporated by reference herein.

In an alternate embodiment, the gimbal mechanism 62 can be omitted and asingle linear degree of freedom along axis C can be provided for theuser object 44. For example, in some epidural anesthesia simulations,the angular positioning of the needle 18 may not be needed, and only theinsertion and retraction of the needle can be simulated. In such anembodiment, the linear axis member 64 and transducer 86c can be used toprovide forces in the linear degree of freedom. (e.g., the chassis 124of the linear axis member 64 can be mounted to ground and the needle 18can be translated along the one degree of freedom allowed by slide 64).

FIGS. 4a and 4b are a front elevation view and a top plan view,respectively, of mechanical apparatus 25' of FIG. 3. In FIG. 4a, it isshown that axes A and E are aligned when viewing them from the front, asare axes B and D. In the top plan view of FIG. 4b, user object 44 (inthis case needle 18) is shown coupled to linear axis member 64. Pivotpoint P is positioned remotely from mechanical apparatus 25' such thatthe apparatus 25' is positioned entirely on one side of the pivot pointP and user object 44 is positioned on the other side of the pivot pointas demonstrated by dashed line 90.

FIG. 5a is a perspective view of a capstan band drive mechanism 72 ofthe present invention shown in some detail. As an example, the drivemechanism 72 coupled to link member 74b is shown; the other capstandrive 72 coupled to link member 74a is substantially similar to themechanism presented here. Capstan band drive mechanism 72 includes drum82, spindle (or "capstan") 92, and stop 94. Drum 82 is preferably awedge-shaped member having leg portion 96 and a curved portion 98. Othershapes of drum 82 can also be used. Leg portion 96 is pivotally coupledto support member 80 at axis B (or axis A for the other band drivemechanism 72). Curved portion 84 couples the two ends of leg portion 82together and is preferably formed in an arc centered about axis B.Curved portion 84 is preferably positioned such that its bottom edge 86is about 0.030 inches below spindle 92. Link member 74b is rigidlycoupled to curved portion 98 such that when drum 82 is rotated aboutaxis B, link member 74b is also rotated.

Spindle 92 is a cylindrically-shaped roller rigidly coupled to a shaftof actuator 86b that is used to transfer torque to and from actuator86b. In a preferred embodiment, spindle 92 is about 0.75" in diameter,but can be other sizes in other embodiments. Bands 100a and 100b arepreferably thin metal bands, made of materials such as stainless steel,and which are connected to spindle 92. For example, 1/4" wide and0.0005" or 0.001" thick bands are suitable for the present invention.Band 100a is attached at a first end to spindle 92, is drawn tightlyagainst the outer surface 102 of curved portion 98, and is coupled atits other end to a leg portion 96 by a fastener 104a. Likewise, band100b is attached at a first end to spindle 92, offset from band 100a onthe spindle. Band 100b is wrapped around spindle 92 in the oppositedirection to band 100a, is drawn in the opposite direction to band 100atightly against the outer surface 102 of curved portion 98, and iscoupled at its other end to a leg portion 96 by a fastener 104b.

Spindle 92 is rotated by actuator 86b, and bands 100a and 100b transmitthe rotational force from spindle 92 to the drum 82, causing drum 82 torotate about axis B. As shown in FIG. 5b, band 100b is attached tospindle 92 at point 101, is wrapped around the spindle clockwise, and isextended along the surface of curved portion 98. Thus, when the spindle92 is rotated in a counterclockwise direction by actuator 86a, then band100b pulls on one side of drum 82, thus rotating the drum clockwiseabout axis B as shown by arrow 103. The bands 100a and 100b alsotransmit rotational position (e.g., when the user object is moved by theuser) from drum 82 to the spindle 92 and thus to sensor 87b so that theposition of the user object is sensed. The tension in bands 100a and100b should be at a high enough level so that negligible backlash orplay occurs between drum 82 and spindle 92. Preferably, the tension ofbands 100a and 100b can be adjusted by pulling more (or less) bandlength through fastener 104 and 104b, as explained below in FIG. 5c.

Spindle 92 is a metal cylinder which transfers rotational force fromactuator 86b to capstan drum 82 and from capstan drum 82 to sensor 87b.Spindle 92 is rotationally coupled to transducer 66b by a shaft (notshown), and the transducer is rigidly attached to support member 80.Rotational force (torque) is applied from actuator 86b to spindle 92when the actuator rotates the shaft. The spindle, in turn, transmits therotational force to bands 100a and 100b and thus forces capstan drum 82to rotate in a direction about axis B. Link member 74b rotates with drum82, thus causing force along the second degree of freedom for object 44.Note that spindle 92, capstan drum 82 and link member 74b will onlyphysically rotate if the user is not applying the same amount or agreater amount of rotational force to object 44 in the oppositedirection to cancel the rotational movement. In any event, the user willfeel the rotational force along the second degree of freedom in object44 as force feedback.

Stop 106 is rigidly coupled to support member 80 below curved portion 98of capstan drum 82. Stop 106 is used to prevent capstan drum 82 frommoving beyond a designated angular limit. Thus, drum 82 is constrainedto movement within a range defined by the arc length between the ends ofleg portion 96. This constrained movement, in turn, constrains themovement of object 44 in the first two degrees of freedom. In thedescribed embodiment, stop 106 is a cylindrical member inserted into athreaded bore in support member 80 and is encased in a resilientmaterial, such as rubber, to prevent impact damage with drum 82.

The capstan drive mechanism 72 provides a mechanical advantage toapparatus 25' so that the force output of the actuators can beincreased. The ratio of the diameter of spindle 92 to the diameter ofcapstan drum 82 (i.e., double the distance from axis B to the edge 102of capstan drum 82) dictates the amount of mechanical advantage, similarto a gear system. In the described embodiment, the ratio of drum tospindle is equal to 15:1, although other ratios can be used in otherembodiments.

Similarly, when the user moves object 44 in the second degree offreedom, link member 74b rotates about axis B and rotates drum 82 aboutaxis B as well. This movement causes bands 100a and 100b to move, whichtransmits the rotational force/position to spindle 92. Spindle 92rotates and causes the shaft of actuator 86a to rotate, which is alsocoupled to sensor 87b. Sensor 87b thus can detect the direction andmagnitude of the movement of drum 82. A similar process occurs along thefirst degree of freedom for the other band drive mechanism 72. Asdescribed above with respect to the actuators, the capstan band drivemechanism provides a mechanical advantage to amplify the sensorresolution by a ratio of drum 82 to spindle 92 (15:1 in the describedembodiment).

In alternate embodiments, a single band can be used instead of two bands100a and 100b. In such an embodiment, the single band would be attachedat one fastener 104a, drawn along surface 102, wrapped around spindle92, drawn along surface 102, and attached at fastener 104b.

In alternate embodiments, a capstan cable drive can be used, where acable, cord, wire, etc. can provide the drive transmission from actuatorto user object. This embodiment is described in greater detail inco-pending patent application 08/374,288. The cable 80 is wrapped aroundthe spindle a number of times and is then again drawn tautly againstouter surface 102. The second end of the cable is firmly attached to theother end of the curved portion near the opposite leg of leg portion 96.

Band drive mechanism 72 is advantageously used in the present inventionto provide high bandwidth transmission of forces and mechanicaladvantage between transducers 66a and 66b and object 44 withoutintroducing substantial compliance, friction, or backlash to the system.A capstan drive provides increased stiffness, so that forces aretransmitted with negligible stretch and compression of the components.The amount of friction is also reduced with a band drive mechanism sothat substantially "noiseless" tactile signals can be provided to theuser. In addition, the amount of backlash contributed by a band drive isnegligible. "Backlash" is the amount of play that occurs between twocoupled rotating objects in a gear or pulley system. Gears other typesof drive mechanisms could also be used in place of band drive mechanism72 in alternate embodiments to transmit forces between transducer 66aand link member 74b. However, gears and the like typically introducesome backlash in the system. In addition, a user might be able to feelthe interlocking and grinding of gear teeth during rotation of gearswhen manipulating object 44; the rotation in a band drive mechanism ismuch less noticeable.

The use of bands 10a and 100b in a force feedback interface mechanismprovides higher performance than other drive transmission systems suchas the cable drive described in co-pending patent application08/374,288. Since each band 100a and 100b is attached to spindle 92, thetension of the bands does not need to be as high as in a system havingone cable or band that stretches from fastener 104a to 104b. Thus,considerable assembly time is saved when using bands 100a and 100brather than a cable. There is also energy loss associated with cabledeflection as the capstan turns which is minimized in the band drives ofthe present invention.

When using a band drive system as described, the bands wrap aroundthemselves on spindle 92, i.e., the spindle in effect grows incircumference. Band stretch is thus of possible concern; however, thestretch has been found to be well within the limits of the straincapabilities of the bands. In addition, there is a tendency for the drum82 to spring back to the center of travel, where the band stretch is atits lowest. However, there are several ways to compensate for thisspring effect. In the preferred embodiment, control software implementedby the computer 16 compensates for the stretch springiness by computingan equal and opposite force to the spring force based, for example, on aspring constant of the band or a value from a look up table. In otherembodiments, the bands 100a and 100b can be wrapped diagonally onspindle 92 so that the bands never wrap around themselves. However, thisrequires a wider spindle and a less compact mechanism. Alternatively, aspring can be provided on spindle 92 to compensate for the stretch ofthe bands 101a and 100b.

FIG. 5c is a detail perspective view of band drive mechanism 72. Band100b is shown routed on curved portion 98 of drum 82 between spindle 92and fastener 104b. In the described embodiment, fastener 104b is a clampwhich holds the end 110 of band 100b as controlled by tension. Thetension between the clamp is controlled by tension screws 112. Inaddition, the fastener 104b can preferably be moved in either directionshown by arrow 116 to further tighten the band 100b. In the describedembodiment, tension screws 114 can be adjusted to move the fastener ineither direction as desired.

FIGS. 6a and 6b are perspective views of linear axis member 64 andcentral transducer 66c shown in some detail. In the describedembodiment, linear axis member 64 is implemented as a moving slide in alinear bearing 120. Linear bearing 120 includes slide 122 and exteriorchassis 124. In the described embodiment, linear bearing 120 is a ballslide bearing that allows slide 122 to linearly translate within chassis124 with minimal friction. A suitable ball slide linear bearing isavailable from Detron Precision, Inc. Other types of linear bearings canbe used in other embodiments, such as Rolamite bearings, crossed rollerlinear bearings, and recirculating ball linear bearings.

Central transducer 66c is coupled to the linear bearing 120 by a mount126. Mount 126 is also coupled to one of the central members 74a or 74bto attach the linear axis member 64 to the gimbal mechanism 62. In thedescribed embodiment, a capstan band drive mechanism 128 is used totransmit forces between transducer 66c and slide 122 along the linearthird degree of freedom. A spindle 130 is coupled to the shafts of theactuator 86c and sensor 87c such that the spindle is positioned justabove the slide 122, and is similar to spindle 92 of capstan band drivemechanism 72 shown in FIG. 5a. A band 132a is coupled at one end tospindle 130, is wrapped around the spindle, is routed along the ballslide 122, and is tightly secured at its other end to fastener 134a,which is coupled to the slide 122. Likewise, band 132b is coupled at oneend to spindle 130 offset from band 132a, is wrapped around spindle 130in the opposite direction to band 132a, is routed along the oppositedirection to band 132a on the slide, and is secured at fastener 134b,which is coupled to the slide 122 (band 132b is better shown in FIG.6b). The bands 132a and 132b and spindle 130 operate similarly to theband drive of FIG. 5a to provide a very smooth, low friction, highbandwidth force transmission system for precise movement of linear axismember 64 and accurate position measurement of the member 64. FIG. 6ashows the limit to the slide 122 movement at one end of the movementrange, and FIG. 6b shows the limit of the slide movement at the otherend of the range. Fasteners 134a and 134b are preferably clamps similarto the clamps described for FIG. 5a.

Using the capstan band drive mechanism 128, transducer 66c can translatelinear axis member 64 (slide 122) along axis C when the spindle isrotated by the actuator 86c. Likewise, when linear axis member 64 istranslated along axis C by the user manipulating the object 44, spindle130 is rotated by bands 132a and 132b; this rotation is detected by thesensor 87c.

In other embodiments, other types of drive mechanisms can be used totransmit forces to linear axis member and receive positional informationfrom member 64 along axis C. For example, a drive wheel made of arubber-like material or other frictional material can be positioned onball slide 122 to contact linear axis member 64 along the edge of thewheel and thus convert linear motion to rotary motion and vice-versa.The wheel can cause forces along member 64 from the friction betweenwheel and linear axis member. Such a drive wheel mechanism is disclosedin U.S. Pat. No. 5,623,582 as well as in U.S. patent application Ser.No. 08/344,148. The drive mechanism can also be implemented in otherways, as explained above, as explained above with respect to FIG. 5a.

In yet other embodiments, a fourth degree of freedom can be provided toobject 44 by sensing and/or actuating spin of linear axis member 64about axis C.

FIG. 7 is a block diagram a computer 16 and an interface circuit 150used in interface 14 to send and receive signals from mechanicalapparatus 25. The interface circuit includes an interface card 152, DAC154, power amplifier circuit 156, and sensor interface 158. In thisembodiment, the interface 14 between computer 16 and mechanicalapparatus 25 as shown in FIG. 1 can be considered functionallyequivalent to the interface circuits enclosed within the dashed line inFIG. 7. Other types of interfaces 14 can also be used. For example, anelectronic interface is described in U.S. Pat. No. 5,576,727 filed Jun.5, 1995, assigned to the assignee of the present invention andincorporated herein by reference in its entirety. The electronicinterface described therein has six channels corresponding to the sixdegrees of freedom of a mechanical linkage.

Interface card 152 is preferably a card which can fit into an interfaceslot of computer 16. For example, if computer 16 is an IBM AT compatiblecomputer, interface card 14 can be implemented as an ISA, VESA, PCI orother standard interface card which plugs into the motherboard of thecomputer, provides input and output ports connected to the main data busof the computer, and may include memory, interface circuitry, and thelike. In alternate embodiments, no interface card 152 need be used, anda direct interface bus can be provided from interface 14 and computer16. For example, a serial interface such as RS-232, Universal Serial Bus(USB), or Firewire can be used to connect a serial port or parallel portof computer 16 to interface 14. Also, networking hardware and protocols,such as ethernet, can also be used.

Digital to analog converter (DAC) 154 is coupled to interface card 152and receives a digital signal from computer 16. DAC 154 converts thedigital signal to analog voltages which are then sent to power amplifiercircuit 156. DAC circuits suitable for use with the present inventionare described in U.S. Pat. No. 5,731,804, previously incorporated byreference. Power amplifier circuit 156 receives an analog low-powercontrol voltage from DAC 154 and amplifies the voltage to controlactuators of the mechanical apparatus 25. A suitable power amplifiercircuit 156 is described in greater detail in U.S. Pat. No. 5,731,804.Sensor interface 158 receives and converts signals from sensors 162 to aform appropriate for computer 16, as described below.

Mechanical apparatus 25 is indicated by a dashed line in FIG. 7 andincludes actuators 160, sensors 162, and mechanisms 62 and 64. Actuators160 can one or more of a variety of types of actuators, such as the DCmotors 86a, 86b, and 86c, passive actuators, valve 89, and anyadditional actuators for providing force feedback to a user manipulatedobject 44 coupled to mechanical apparatus 25. The computer 16 determinesappropriately scaled digital values to send to the actuators. Actuators160 receive the computer signal as an amplified analog control signalfrom power amplifier 156.

Sensors 162 are preferably digital sensors that provide signals tocomputer 16 relating the position of the user object 44 in 3D space. Inthe preferred embodiments described above, sensors 162 are relativeoptical encoders, which are electro-optical devices that respond to ashaft's rotation by producing two phase-related signals and outputtingthose signals to sensor interface 158. In the described embodiment,sensor interface circuit 158 is preferably a single chip that convertsthe two signals from each sensor into another pair of clock signals,which drive a bidirectional binary counter. The output of the binarycounter is received by computer 16 as a binary number representing theangular position of the encoded shaft. Such circuits, or equivalentcircuits, are well known to those skilled in the art; for example, theQuadrature Chip from Hewlett Packard, Calif. performs the functionsdescribed above.

Alternatively, analog sensors can be included instead of or in additionto digital sensors 162, such as potentiometers. Or, a strain gauge canbe connected to the user object 44 to measure forces. Analog sensors 132provide an analog signal representative of the position of the userobject in a particular degree of motion. In such an embodiment, sensorinterface 158 includes an analog to digital converter (ADC) 134 toconvert the analog sensor signal to a digital signal that is receivedand interpreted by computer 16, as is well known to those skilled in theart.

Mechanisms 62 and 64 interface the movement and forces between the userobject 44 and the sensors and actuators. From the mechanical movement ofthe mechanisms 62 and 64, the computer 16 receives inputs in φ(t)(linear axis), ψ(t) and i(t) (rotational axes). Using the mechanicalmovement of the mechanisms 62 and 64, computer 16 outputs forces on theuser object in these same degrees of freedom.

Other input devices can also be included on user object 44 or onmechanical apparatus 25 to allow the user to input additional commands.For example, buttons, levers, dials, etc. can input signals to interface14 to inform the computer 16 when these input devices have beenactivated by the user.

In other embodiments, the interface 14 can be included in computer 16 orin mechanical apparatus 25. In yet other embodiments, the interface 14can include a separate, local microprocessor that is dedicated tohandling much of the force feedback functionality of the mechanicalapparatus 25 independently of computer 16. Such an embodiment, and otherrelated interface functions, are described in greater detail withrespect to co-pending patent application 08/566,282, Atty docket no.IMMIP014, hereby incorporated by reference herein.

FIG. 8 is a flow diagram illustrating a process of controllingmechanical interface apparatus 25' in the simulation of an epiduralanesthesia procedure. Appendix A includes an example listing of computerinstructions to implement a control method for an epidural anesthesiaprocedure. A similar process and/or different procedures well known tothose skilled in the art can be implemented in the simulation of otheractivities, procedures, games, etc., and with the use of other types ofuser objects 44.

When training an anesthesiologist using the simulator of the presentinvention, the trainee will typically practice the initial stages of theprocedure on a patient or other conventional testing means, i.e., thetrainee learns from an instructor how to place the patient on theoperating table and locate the point of insertion about halfway betweenthe vertebrae L4 and L5. At this point, the trainee can move over to themechanical apparatus 25' and practice the remainder of the procedure.

When operating the mechanical interface apparatus 25', the trainee aimsthe needle 18 approximately 10° toward the head of the patient (whichcan be displayed on a computer monitor or head mounted display). Whenappropriate needle position is attained, needle insertion is begun.Various forces are provided on the needle as it is inserted depending onthe distance and direction of travel through simulated tissue, asexplained below.

The process begins at 202, and in step 204, the computer 16 and themechanical interface apparatus 25' are powered up. Variousinitialization procedures can be performed at this stage for thecomponents of the apparatus, as is well known to those skilled in theart. In step 206, the computer 16 retrieves sensor data from the sensors162 of the interface apparatus. In the described embodiment, thecomputer 16 receives digital data from sensors 87a, 87b, and 87c, whichare preferably rotary optical encoders. In step 208, the position andstate of the needle is determined using the sensor data retrieved instep 206. The tip of shaft 28 of the needle 18 can be any designatedpoint along shaft 28, and is preferably designated to be the point wherethe shaft 28 is coupled to needle mount 91. The needle tip is known tobe a predetermined distance and angle from the links and members of themechanical apparatus and its position can thus be calculated from thesensor data. The "state" of the needle includes whether the needle isadvancing into the simulated tissue of the patient or being retractedfrom the tissue. In addition, the calculation of the angular position ofeach link of the apparatus 25' can be performed in this step. Althoughnot necessary in the preferred embodiment, calculations in otherembodiments can include compensations for the increased diameters ofspindles 92 as the bands 100 wrap around themselves. As an example, thelisting of instructions in Appendix A provides equations for calculatingangular positions and other parameters for apparatus 25.

In step 210, the computer calculates an amount of force (torque) thatwould compensate for the influence of gravity on the user object(needle) and mechanical apparatus at the detected position of the needletip. The gravity compensation uses forces generated by actuators 86a-cto support the weight of the actuators and the mechanism to allow theneedle to be manipulated free from this weight. For example, FIG. 8aillustrates the needle 18, linear axis member 64, and transducer 66c andthe effect of gravity on the mechanism. Linear axis member 64 is coupledto shaft 28 of needle 18. Transducer 66c is coupled to the linear axismember 64 and is one of the heaviest components of the apparatus 25.Unlike transducers 66a and 66b, transducer 66c is not grounded andtherefore the user can feel the weight of transducer 66c whenmanipulating needle 18. The mechanism's center of gravity is shown bypoint 220, where gravity causes a downward force on the mechanism. Thisweight causes a significant moment about the pivot point P, i.e., theneedle 18 is caused to undesirably rotate about the pivot point P and,due to the flexible nature of the needle shaft 28, prevent the needlefrom being rotated about point P, axes A and B (as shown in FIG. 3).Thus, in step 210, the computer calculates a force 222 equal to thegravitational force of the mass on mechanism and opposite in directionto compensate for the weight of the actuator and mechanism, taking intoaccount the current position of the needle about the axes of themechanism. This allows the user to freely rotate the needle about pointP while feeling a negligible amount of the weight of the mechanism andactuator. The compensating force is calculated according to methods andequations well known to those skilled in the art.

In step 212, the process checks whether the needle is within thesimulated tissue by checking the position determined in step 208. Ifnot, then the process returns to step 206 to update the retrieved sensordata. If the needle is within the simulated tissue, then in step 213 theforce on the needle, as exerted by the simulated tissue, is calculatedfor use in subsequent steps. In next step 214, the process checks if theneedle has the desired angular position, where the "desired" position isone in which the advancing needle will contact the epidural space of thepatient and not bone or other obstructions in the simulated body.Preferably, a predetermined angular range within the workspace of theneedle is checked to determine if the needle is at the desired position.If so, step 216 is performed, where the appropriate physical propertyprofile for the desired needle trajectory is selected from memory (suchas RAM or ROM included in computer 16). A "physical property profile",as discussed herein, is a collection of stored predetermined values thatcharacterize or describe a physical structure or area at differentlocations. For example, the different tissue layers beneath the skin mayhave different characteristics and thus will act differently on anadvancing needle at different depths. The physical property profile caninclude material stiffness values that indicate the stiffness of thetissue at particular depths. A stiffness value from the profile is usedby the process to eventually determine forces on the needle interactingwith the simulated tissue. In other embodiments, other or additionalphysical property values can be included in the profile. For example,density and texture values can be provided for different depths of apatient's tissue. In other embodiments, a physical property profile maydescribe physical properties of different layers of, for example,sediment which can be used to determine forces on an instrument probingfor oil.

Since, in the described embodiment, different physical property profilesare used for an advancing needle and for a retracting needle, theprocess checks the current position and one or more previous positionsof the needle to determine the needle's direction and then selects theappropriate profile. This realistically simulates the different feel ona needle when advancing vs. retracting the needle. The value in theprofile that corresponds to the current position of the needle is usedin the calculation of force to be output, as described below. Thephysical property profiles are advantageous in that they include anumber of property values corresponding to different depths. Thus, toprovide for patient variation, the values can be easily changed toachieve a high degree of customization to simulate different tissueresistances and different sizes/depths of tissues in different patients.

FIG. 8b is a graph 230 showing the force output on needle 18 using aphysical property profile with respect to needle insertion depth for adesired (successful) trajectory of the needle in the simulated tissue ofa patient. These forces result from a profile selected when the needleis advancing into the simulated tissue. Between and insertion depth of 0and 0.5 inches, an initial force spike 232 is output in the directionresisting the advance of the needle, after which the force dropssharply. Spike 232 is intended to simulate the puncturing of skin by thetip of the needle shaft 28, and thus a high stiffness value (and/orother values) are stored in the profile for this insertion depth. Theforce resisting the needle then increases steadily with insertion depthbetween about 0.75 and 2.75 inches. The small spike 233 is meant tosimulate the needle encountering the Ligamentum flavum directly beforethe epidural space, which can be a hard substance that exerts a greaterforce on the needle, and thus corresponds to a higher stiffness in theprofile. The force then drops sharply before an insertion depth of about2.75 to 3 inches, at point 234. This drop in force simulates the needleentering the epidural space, which is the desired space to inject theanesthetic. Once this space is reached, the simulation is complete. Inalternate embodiments, the other side of the epidural space can also besimulated. For example, after about a distance of 1/20th of an inch pastpoint 234, a large force spike can be output based on a high tensionvalue in the physical property profile, which simulates bone on theother side of the epidural space.

Referring back to FIG. 8, the process continues after step 216 to step220, detailed below. If the needle does not have the desired orsuccessful angular position in step 214, then step 218 is performed,where the appropriate physical property profile is selected for theneedle encountering bone in the simulated body (or other obstacle), or adifferent "failure" profile is selected if desired. Thus, if the userangles the needle incorrectly, the needle will miss the desired epiduralspace and most likely will impact a bone structure. As in step 216,different profiles are available for both directions of movement of theincorrectly-angled needle in the simulated tissue.

FIG. 8c is a graph 240 showing the force output on needle 18 from aphysical property profile with respect to needle insertion depth in thesimulated tissue for a "vertebrae bone encounter", i.e., an unsuccessfulneedle trajectory in an epidural anesthesia procedure. This profile isused when the needle is advancing through the simulated tissue. Assumingthat the needle tip starts within the tissue, the force is fairlyconstant between 0 and about 1.25 inches to simulate the resistance oftissue of average stiffness on the needle (alternately, if the needletip starts outside the tissue, an initial force spike similar to spile232 can be provided to simulate puncturing of the skin). At point 242(about 1.25 inches in the present example), a very large force spike(e.g., as large a force as can be generated) is output based on a veryhigh (or infinite) stiffness stored in the profile to create a "virtualwall." This simulates a hard structure, such as bone, which the needlecannot advance through, and makes it apparent to the user that theneedle must be retracted. The mechanical apparatus 25' is well-suited tosimulated this bone encounter, since, to rapidly increase the outputforce without introducing vibrations or instabilities, severalrequirements must be met. These requirements include a mechanicalstiffness high enough so that components do not deflect under the inputload; a transmission free of backlash and deflection under the forceload; and a position resolution high enough that the discrete changes inforce output do not cause vibrations in the linear axis. In thepreferred embodiment of apparatus 25', the apparatus 25' is able tosimulate a bone tissue stiffness of approximately 20 lbs/in., which ismore than sufficient to simulate a bone encounter in the procedure.

Once a bone encounter is apparent, the user can retract the needle tojust below the skin surface, shift the angular position of the needle,and try advancing the needle again. If the user believes that the needlealmost missed the bone, then the needle can be retracted slightly andcontinued to be advanced while exerting a sideward force on the needleto move it away from the bone. Simulated tissue resistance andcompliance can be important to realistically simulate these multipleforces on the needle, as well as forces about axes A and B provided byactuators 86a and 86b.

Referring back to FIG. 8, after step 218, the process continues to step220. In step 220, the process calculates the force to output to theactuators based on appropriate parameters, such as the current positionand/or previous position(s) of the needle in the simulated tissue andbased on a value in the selected physical property profile thatcorresponds to the current position of the tip of the needle. Thecalculation of the force value is influenced by needle movement andparameters such as compliance and resistance of the tissue (which canalso be stored in the profiles). In alternate embodiments, thecalculated force value can be dependent on more complex factors. Forexample, the stiffness of the tissue at the tip of the needle as well asthe stiffness of tissue on the sides of shaft 28 can be taken intoaccount when calculating the force. In such an embodiment, the physicalproperties at different depths can be retrieved from the profile fordifferent portions of the needle. In addition, the size (width/length)of needle 18 and the type of needle 18 (e.g., shape, material, etc.) canbe used to influence the calculation of the force output on user object44.

The computer then outputs the calculated force value(s) to the actuatorinterface that includes DAC 154 and power amplifier 156, and theappropriate forces are generated on needle 18 (or other object 44) byactuators 86a, 86b, and 86c. In addition, if the epidural space has beenreached by the needle 18 in a successful needle trajectory, then thevalve 89 is preferably opened so that the plunger 27 has no pressureexerted on it and can be moved by the user to simulate the "loss ofresistance" in an epidural procedure. The valve 89 is also opened if theneedle is not contacting any tissue (the valve 89 is closed at all othertimes to provide pressure on the plunger 27 while the needle is withinother tissue). The process then returns to step 206 to retrieve updatedsensor data from the sensors, and the process continues as describedabove.

FIG. 9 is a schematic diagram of an alternate embodiment 25" ofmechanical apparatus 25 for use with a spherical user object or joystickuser object Apparatus 25 includes a gimbal mechanism 38 and a linearaxis member 40 similar to the mechanisms 38 and 40 described above withreference to FIG. 2a Linear axis member 40 is preferably a cylindricalor other shaped shaft. In FIG. 9, user manipulatable object 44 is aspherical ball 220 whose center X is positioned at or close to remotepivot point P at the intersection of axes A, B, D, and E. A user cangrasp ball 220 and rotate the ball about pivot point P in two degrees offreedom about axes A and B. In the preferred embodiment, ball 220 cannotbe moved in a linear degree of freedom since it is desired to keep ball220 centered at point P. Alternatively, such a linear third degree offreedom can be implemented as described in embodiments above.

Since the remote pivot point P is at the center of ball 220, the ballwill seem to rotate in place when it is moved in the provided degrees offreedom. This unique motion allows a user to fully grasp the rotatingobject, such as ball 220, without having a large support structureinterfering with the user's grasp.

Additionally, a third rotary degree of freedom can be added for ball 220as rotation or "spin" about axis C extending through the pivot point Pand aligned with linear axis member 40. This third degree of freedomallows ball 220 to spin in place about its center.

As in the above embodiments, sensors and actuators can be included inapparatus 25" to provide an interface with a computer system The sensorsprovide information about the position of the object in one, two, and/orthree degrees of freedom to the computer system, and the actuators arecontrolled by the computer system to output forces in one or moredegrees of freedom. Some desired applications for apparatus 25" includea controller to manipulate the movement of computer-displayed images forCAD systems, video games, animations, or simulations and to provideforces to the user when the controlled images interact with other imagesor when otherwise appropriate. For example, the ball 220 can be rotatedin different degrees of freedom to steer a vehicle through acomputer-simulated environment Also, apparatus 25" can be used toremotely control real objects (teleoperation), such as remotely steeringa real vehicle.

In alternate embodiments, ball 220 can include protrusions and/orindentations which conform to a user's hand and allow the user to gripthe ball 220 more securely. Or, other-shaped objects 44 can be provided,such as a cylinder, ellipsoid, grip, etc., centered at point P. In yetother embodiments, linear axis member 40 can be extended so that pivotpoint P is positioned at a point on the liear axis member. The ball 220could then be moved in two rotary degrees of freedom about pivot point Plike a conventional joystick device.

FIG. 9a is a perspective view of an alternate embodiment of themechanical apparatus and user object of FIG. 9. In FIG. 9a, usermanipulatable object 44 is a handle grip 222, where the the center X ofthe grip is approximately positioned at the remote pivot point P. A usercan grasp the grip 222 as shown. Preferably, three degrees of freedomabout axes A, B, and C are provided as described above. Grip 222 issuitable for embodiments implementing video games or simulations.

One useful application for mechanical apparatus 25" with grip 222 is forcontrolling computer-generated objects in a simulation (including videogames) implemented by computer 16 and which can be displayed on computerscreen 20 as graphical objects. In a "position control" paradigm betweeninterface apparatus 25" and the computer-generated object(s), movementsof the grip 222 in provided degrees of freedom directly correspond toproportional movements of the controlled computer object such thatlocations in the workspace of the user object correspond directly tolocations in the simulated space of the computer object. For example,moving grip 222 about axis C to a new position would move a displayed,controlled graphical cube about an equivalent axis on the display ormove a cursor across the screen to an equivalent position on thedisplay. In a "rate control" or "heading control" paradigm, movements ofthe grip 222 in provided degrees of freedom correspond to movements ofthe computer object in correponding directions or velocities to the gripmovements. Rate control is often used to manipulate the velocity of asimulated controlled object, while heading control is used to manipulatethe orientation of a displayed view/simulated entity, typically from afirst person perspective. For example, using heading control, movinggrip 222 about axis C would correspondingly move the view of a displayscreen and/or would move the cockpit of an aircraft in a simulatedenvironment as if the user were in the cockpit. In some heading controlembodiments, the three degrees of freedom can correspond to roll, pitch,and yaw controls mapped to the computer object in the simulation, asshown in FIG. 9a, where rotation about axes A and B is pitch and roll,and rotation about axis C is yaw. Thus, the roll, pitch, and yaw of asimulated object, such as a vehicle (e.g., aircraft, spaceship, etc.),can be controlled using interface apparatus 25".

While this invention has been described in terms of several preferredembodiments, it is contemplated that alterations, modifications andpermutations thereof will become apparent to those skilled in the artupon a reading of the specification and study of the drawings. Forexample, the apparatus 25 can be used for a variety of applicationsbesides medical simulation, including vehicle simulation, video games,etc. Likewise, other types of gimbal mechanisms or different mechanismsproviding multiple degrees of freedom can be used with the capstan banddrive mechanisms disclosed herein to reduce inertia, friction, andbacklash in a force feedback system. A variety of devices can also beused to sense the position of an object in the provided degrees offreedom and to drive the object along those degrees of freedom.Furthermore, certain terminology has been used for the purposes ofdescriptive clarity, and not to limit the present invention. It istherefore intended that the following appended claims include all suchalterations, modifications and permutations as fall within the truespirit and scope of the present invention. ##SPC1##

What is claimed is:
 1. An interface mechanism providing motion in atleast two degrees of freedom for a user and interfacing said motion witha computer, said interface mechanism comprising:a gimbal mechanismincluding a plurality of members pivotably coupled to each other andproviding two revolute degrees of freedom about a single pivot pointlocated remotely from said plurality of members, said pivot pointlocated at about an intersection of axes of rotation of said members;and a user manipulatable object coupled to at least one of saidplurality of members, said user manipulatable object being rotatable insaid two revolute degrees of freedom about said pivot point.
 2. Aninterface mechanism as recited in claim 1 wherein said plurality ofmembers includes five members, each of said five members pivotablycoupled to at least one of said other five members.
 3. An interfacemechanism as recited in claim 1 wherein said plurality of membersincludes five members coupled in a closed loop such that each of saidfive members is pivotably coupled to two other members of said fivemembers.
 4. An interface mechanism as recited in claim 3 wherein saidfive members includes:a ground member coupled to a ground surface; firstand second extension members, each extension member being coupled tosaid ground member; first and second central members, said first centralmember having an end coupled to said first extension member and saidsecond central member having an end coupled to said second extensionmember, wherein said central members are coupled to said linear axismember at ends not coupled to said extension members.
 5. An interfacemechanism as recited in claim 1 wherein said plurality of members arepositioned exclusively on one side of said pivot point, wherein saidmembers are provided within a hemisphere of a sphere defined such thatsaid pivot point is at a center of said sphere and said usermanipulatable object can be moved in a workspace that defines at least aportion of a surface of said sphere.
 6. An interface mechanism asrecited in claim 1 wherein at least a portion of said user manipulatableobject extends through said pivot point.
 7. An interface mechanism asrecited in claim 6 wherein said user manipulatable object isindependently translatable with respect to said gimbal mechanism along alinear third axis in a third degree of freedom through said pivot point.8. An interface mechanism as recited in claim 3 further comprising aplurality of transducers, each of said transducers coupled between twoof said members of said gimbal mechanism for an associated degree offreedom, said transducers being coupled to said computer.
 9. Aninterface mechanism as recited in claim 8 wherein each of saidtransducers include a sensor for sensing the position of said usermanipulatable object in said two degrees of freedom.
 10. An interfacemechanism as recited in claim 9 wherein each of said transducersincludes an actuator for providing a force on said user manipulatableobject in said two degrees of freedom.
 11. An interface mechanism asrecited in claim 10 wherein motion in said two degrees of freedom isinput to a simulation implemented on said computer.
 12. An interfacemechanism as recited in claim 11 wherein said simulation is a videogame.
 13. An interface mechanism as recited in claim 3 wherein said usermanipulatable object includes at least a portion of a medicalinstrument.
 14. An interface mechanism as recited in claim 13 whereinsaid user manipulatable object includes a needle having at least aportion of a shaft and a syringe.
 15. An interface mechanism as recitedin claim 14 further comprising a plunger actuator coupled to said needlefor selectively providing a pressure to a plunger of said syringe. 16.An interface mechanism as recited in claim 1 wherein a graspable portionof said user manipulatable object is approximately centered at saidremote pivot point.
 17. An interface mechanism as recited in claim 10further comprising a band drive mechanism coupled between one of saidactuators and one of said members, said band drive mechanismtransmitting said force generated by said actuator to said usermanipulatable object and transmitting movement applied to said usermanipulatable object by a user to said sensors.
 18. An interfacemechanism as recited in claim 17 wherein said band drive mechanismincludes a rotating drum rotatably coupled to a first one of saidmembers and rigidly coupled to a second one of said members, said drumbeing additionally coupled to a spindle by a flat band, wherein saidtransducer is operative to rotate said spindle and thereby rotate saiddrum and transmit force to said second one of said members withsubstantially no backlash.
 19. An interface mechanism as recited inclaim 18 further comprising a second band drive mechanism coupledbetween a second one of said actuators and said user manipulatableobject, said second band drive mechanism transmitting a force generatedby said second actuator to said user manipulatable object in a lineardegree of freedom approximately through said pivot point.
 20. Aninterface mechanism as recited in claim 10 wherein said actuators aregrounded.
 21. A method for providing a simulation using a computersystem and an interface apparatus, the method comprising:providing aninterface apparatus coupled to a user manipulatable object, saidinterface apparatus including a gimbal mechanism that provides tworotary degrees of freedom in a spherical workspace to said usermanipulatable object, wherein said user manipulatable object may berotated about a pivot point remote from said gimbal mechanism andlocated at a center of a sphere defined by said spherical workspace, andwherein said interface apparatus also provides a third linear degree offreedom to said user manipulatable object through said remote pivotpoint; detecting on a computer system the position of said usermanipulatable object in said linear degree of freedom from a sensorincluded on said interface apparatus; and outputting a force on saiduser manipulatable object in said linear degree of freedom using anactuator coupled to said interface apparatus.
 22. A method as recited inclaim 21 wherein said interface apparatus is entirely on one side of aplane intersecting said pivot point such that said user manipulatableobject is on the other side of said plane from said interface apparatus.23. A method as recited in claim 22 wherein said interface apparatusincludes a closed loop spherical mechanism for providing said two rotarydegrees of freedom to said user manipulatable object about said remotepoint.
 24. A method as recited in claim 23 further comprisingtransmitting said force from said actuator to said user manipulatableobject using a band drive mechanism including a capstan coupled to saidactuator and a flat band coupling said capstan to said mechanism.
 25. Amethod as recited in claim 21 further comprising detecting on saidcomputer system the position of said user manipulatable object in saidtwo rotary degrees of freedom and outputting forces in said rotarydegrees of freedom using second and third actuators, and outputtingforces in said rotary degrees of freedom from said second and thirdactuators to compensate for the gravitational force resulting from theweight of at least one of said actuators and to allow said usermanipulatable object to be manipulated free from said gravitationalforce.
 26. A method as recited in claim 25 wherein said determining theposition of said user manipulatable object includes determining whethersaid user manipulatable object is positioned within simulated tissue ofa simulated patient.
 27. A method as recited in claim 21 furthercomprising:selecting a physical property profile used for determiningforces on said user manipulatable object, wherein said physical propertyprofile includes a plurality of predetermined physical property values,and wherein said selection of said physical property profile is based ona position of said user manipulatable object in at least said lineardegree of freedom, wherein said force output on said user manipulatableobject is determined, at least in part, from a physical property valueof said selected physical property profile.
 28. A method as recited inclaim 27 wherein said selection of said physical property profileincludes selecting from a plurality of available physical propertyprofiles, and wherein said selection is also dependent on a direction ofmovement of said user manipulatable object in said linear degree offreedom.
 29. A method as recited in claim 28 wherein said simulation isa epidural anesthesia simulation, wherein said user manipulatable objectincludes a needle having a syringe, and wherein different physicalproperty profiles are selected based on whether said needle is advancingor retracting in simulated tissue of a simulated patient.
 30. A methodas recited in claim wherein said physical property profile is selectedadditionally based on a trajectory of said needle within said tissue.31. A method as recited in claim 30 wherein one of said selectedphysical property profiles is used to determine forces simulating saidneedle encountering a bone.
 32. A mechanism for providing motion in atleast two degrees of freedom, said mechanism comprising:a linear axismember able to move in two revolute degrees of freedom in a sphericalworkspace; and a gimbal mechanism coupled to said linear axis member,said gimbal mechanism including a plurality of members pivotably coupledto each other and providing said two revolute degrees of freedom forsaid linear axis member about a pivot point located remotely from saidplurality of members, said pivot point located at about an intersectionof axes of rotation of said members at a center of a sphere defined bysaid spherical workspace.
 33. A mechanism as recited in claim 32 whereinsaid linear axis member extends through said remote pivot point.
 34. Amechanism as recited in claim 33 wherein said gimbal mechanism isentirely on one side of a plane intersecting said remote pivot pointsuch that at least a portion of said linear axis member is on the otherside of said plane from said gimbal mechanism.
 35. A mechanism asrecited in claim 34 wherein said plurality of members includes fivemembers coupled in a closed loop such that each of said five members ispivotably coupled to two other members of said five members.
 36. Amechanism as recited in claim 35 wherein said linear axis memberincludes a user manipulatable object such that a portion of said usermanipulatable object that is graspable by said user is located on saidother side of said plane from said gimbal mechanism.
 37. A mechanism asrecited in claim 36 wherein a grippable portion of said usermanipulatable object is centered at said pivot point.
 38. A mechanism asrecited in claim 36 wherein said user manipulatable object isindependently translatable with respect to said gimbal mechanism along alinear third axis in a third degree of freedom approximately throughsaid remote pivot point.
 39. A mechanism as recited in claim 36 furthercomprising a plurality of transducers, each of said transducers beingcoupled between two of said members of said gimbal mechanism for anassociated degree of freedom, said transducers being coupled to acomputer system, wherein each of said transducers includes a sensor forsensing the position of said user manipulatable object in saidassociated degree of freedom and an actuator for providing a force onsaid user manipulatable object in said associated degree of freedom. 40.A mechanism as recited in claim 36 wherein said user manipulatableobject is provided with an additional rotary degree of freedom about alinear third axis parallel to said linear axis member such that saiduser manipulatable object has three rotary degees of freedomapproximately about said pivot point.
 41. A mechanism as recited inclaim 40 wherein said mechanism is coupled to a computer system tointerface motion of said user manipulatable object to said computersystem, wherein said three rotary degrees of freedom correspond to roll,pitch and yaw degrees of freedom, and wherein said roll, pitch, and yaware mapped to a simulation implemented by said computer system wheremovement in said roll, pitch, and yaw degrees of freedom control roll,pitch, and yaw, respectively, of a computer object in said simulation.42. An interface mechanism for interfacing motion with a computersystem, said interface mechanism comprising:a plurality of members, eachof said members being coupled to at least one other of said members andmovable with respect to said other members, said plurality of membersproviding two revolute degrees of freedom to a user manipulatable objectabout a pivot point located remotely from said plurality of members,said pivot point located at about an intersection of axes of rotation ofsaid members; an actuator for providing a force in said degree offreedom of said user manipulable object; a sensor for sensing positionsof said user manipulatable object in said at least one degree offreedom; and a band drive mechanism, said band drive mechanism includinga capstan and a flat band, said capstan coupled to a particular one ofsaid members and to a rotating shaft of said actuator, wherein saidcapstan is coupled to said particular member by said flat band such thatforce is applied to said particular member in said at least one degreeof freedom when said rotating shaft of said actuator is rotated.
 43. Aninterface mechanism as recited in claim 42 wherein said force is appliedto said particular member in a linear degree of freedom.
 44. Aninterface mechanism as recited in claim 42 wherein said force is appliedto said particular member in a rotary degree of freedom.
 45. Aninterface mechanism as recited in claim 42 wherein said flat bandincludes two separate bands, wherein each of said bands is coupled tosaid capstan at first ends and each of said bands is attached to saidparticular member at a second end.
 46. An interface mechanism as recitedin claim 44 further comprising a drum rigidly coupled to said particularmember and rotatably coupled to another one of said plurality ofmembers, wherein said capstan is coupled to said drum by said flat band.47. An interface mechanism as recited in claim 46 wherein saidparticular member is one of five rotatably coupled members provided in aclosed loop chain such that each of said members is rotatably coupled totwo others of said members.
 48. An interface mechanism as recited inclaim 42 wherein said actuator is grounded.
 49. An interface mechanismas recited in claim 42 wherein said user manipulatable object extendsthrough said pivot point and is movable in said two degrees of freedom.50. An interface mechanism as recited in claim 42 wherein said usermanipulatable object is coupled to a linear axis member, wherein saiduser manipulatable object and said linear axis member are movable in athird linear degree of freedom.
 51. An interface mechanism as recited inclaim 50 further comprising a second band drive mechanism including asecond capstan and a second flat band, said second capstan coupled tosaid linear axis member by a flat band and to a rotating shaft of saidactuator, such that force is applied to said user manipulatable objectin said third linear degree of freedom when said rotating shaft of saidactuator is rotated.
 52. An interface mechanism as recited in claim 50wherein said linear axis member is a slide portion of a linear bearing.53. An interface mechanism as recited in claim 42 wherein said computersystem implements a medical simulation and wherein said user-manipulableobject is a medical instrument.
 54. An interface mechanism as recited inclaim 53 wherein said user manipulatable object includes a needle andsyringe, and wherein said medical simulation simulates an epiduralanesthesia procedure of inserting said needle into tissue, where forcesare provided on said needle to realistically simulate said insertion.